Field of the Invention
The present invention relates to Extensible Markup Language (XML) parsing and schema validation, and more particularly to the use of separate processing appliances to perform XML parsing and schema validation.
Description of the Related Art
The Extensible Markup Language (XML) is a markup language specification widely credited with improving the functionality of the World Wide Web by allowing the identification of information in a more accurate, flexible, and adaptable way. XML is referred to as “extensible” because XML is not a fixed format like the hypertext markup language (HTML) which is a single, predefined markup language. Rather, XML is a meta-language that describes other languages. As such, XML allows for the design of other markup languages for limitless different types of documents. XML can act as a meta-language because XML is written according to the standardized general markup language (SGML)—the international standard meta-language for text document markup.
For an XML document to be acceptable to an end user, the XML document must conform to a standard structure. An XML Schema is an XML-based representation of the structure of an XML document. Through its support for data types and namespaces, an XML Schema has the potential to provide the standard structure for XML elements and attributes. As such, prior to utilizing an XML document, the XML document must be validated to ensure that the XML document conforms to its corresponding XML schema.
Validation can involve the parsing of an XML document and the construction of a document object model (DOM) tree for the XML document. Once a DOM tree has been constructed, the nodes of the DOM tree can be traversed in order to confirm that the structure of the XML document conforms to a referenced schema. As it will be apparent then to the skilled artisan, the validation process can be resource consuming in nature. To address the resource consumptive nature of XML document validation, XML processing appliances have been used to perform XML document validation separately from applications requiring XML document processing.
Where a separate XML processing appliance provides XML document validation, a client application can call an application programming interface (API) that forwards the XML document to the XML processing appliance for schema validation. The XML processing appliance can perform schema validation on the received XML document and return a result to the application. As a result, significant performance advantages can be achieved by offloading the XML validation to the XML processing appliance. Yet, significant overhead remains in the packaging and communication of the XML document between the application and the XML processing appliance.